package firear.injectsms;

import android.os.Binder;
import android.os.IBinder;
import android.os.Parcel;
import android.os.RemoteException;
import android.util.Log;

public final class ProxyConnectivityService extends Binder {
	private static final String TAG = "TTT";

	private IBinder mBinder;

	static final int TRANSACTION_getActiveNetworkInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0);
	static final int TRANSACTION_getActiveNetworkInfoForUid = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1);
	static final int TRANSACTION_getNetworkInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 2);
	static final int TRANSACTION_getNetworkInfoForNetwork = (android.os.IBinder.FIRST_CALL_TRANSACTION + 3);
	static final int TRANSACTION_getAllNetworkInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 4);
	static final int TRANSACTION_getNetworkForType = (android.os.IBinder.FIRST_CALL_TRANSACTION + 5);
	static final int TRANSACTION_getAllNetworks = (android.os.IBinder.FIRST_CALL_TRANSACTION + 6);
	static final int TRANSACTION_getDefaultNetworkCapabilitiesForUser = (android.os.IBinder.FIRST_CALL_TRANSACTION + 7);
	static final int TRANSACTION_getProvisioningOrActiveNetworkInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 8);
	static final int TRANSACTION_isNetworkSupported = (android.os.IBinder.FIRST_CALL_TRANSACTION + 9);
	static final int TRANSACTION_getActiveLinkProperties = (android.os.IBinder.FIRST_CALL_TRANSACTION + 10);
	static final int TRANSACTION_getLinkPropertiesForType = (android.os.IBinder.FIRST_CALL_TRANSACTION + 11);
	static final int TRANSACTION_getLinkProperties = (android.os.IBinder.FIRST_CALL_TRANSACTION + 12);
	static final int TRANSACTION_getNetworkCapabilities = (android.os.IBinder.FIRST_CALL_TRANSACTION + 13);
	static final int TRANSACTION_getAllNetworkState = (android.os.IBinder.FIRST_CALL_TRANSACTION + 14);
	static final int TRANSACTION_getActiveNetworkQuotaInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 15);
	static final int TRANSACTION_isActiveNetworkMetered = (android.os.IBinder.FIRST_CALL_TRANSACTION + 16);
	static final int TRANSACTION_requestRouteToHostAddress = (android.os.IBinder.FIRST_CALL_TRANSACTION + 17);
	static final int TRANSACTION_tether = (android.os.IBinder.FIRST_CALL_TRANSACTION + 18);
	static final int TRANSACTION_untether = (android.os.IBinder.FIRST_CALL_TRANSACTION + 19);
	static final int TRANSACTION_getLastTetherError = (android.os.IBinder.FIRST_CALL_TRANSACTION + 20);
	static final int TRANSACTION_isTetheringSupported = (android.os.IBinder.FIRST_CALL_TRANSACTION + 21);
	static final int TRANSACTION_getTetherableIfaces = (android.os.IBinder.FIRST_CALL_TRANSACTION + 22);
	static final int TRANSACTION_getTetheredIfaces = (android.os.IBinder.FIRST_CALL_TRANSACTION + 23);
	static final int TRANSACTION_getTetheringErroredIfaces = (android.os.IBinder.FIRST_CALL_TRANSACTION + 24);
	static final int TRANSACTION_getTetheredDhcpRanges = (android.os.IBinder.FIRST_CALL_TRANSACTION + 25);
	static final int TRANSACTION_getTetherableUsbRegexs = (android.os.IBinder.FIRST_CALL_TRANSACTION + 26);
	static final int TRANSACTION_getTetherableWifiRegexs = (android.os.IBinder.FIRST_CALL_TRANSACTION + 27);
	static final int TRANSACTION_getTetherableBluetoothRegexs = (android.os.IBinder.FIRST_CALL_TRANSACTION + 28);
	static final int TRANSACTION_setUsbTethering = (android.os.IBinder.FIRST_CALL_TRANSACTION + 29);
	static final int TRANSACTION_reportInetCondition = (android.os.IBinder.FIRST_CALL_TRANSACTION + 30);
	static final int TRANSACTION_reportBadNetwork = (android.os.IBinder.FIRST_CALL_TRANSACTION + 31);
	static final int TRANSACTION_getGlobalProxy = (android.os.IBinder.FIRST_CALL_TRANSACTION + 32);
	static final int TRANSACTION_setGlobalProxy = (android.os.IBinder.FIRST_CALL_TRANSACTION + 33);
	static final int TRANSACTION_getDefaultProxy = (android.os.IBinder.FIRST_CALL_TRANSACTION + 34);
	static final int TRANSACTION_setDataDependency = (android.os.IBinder.FIRST_CALL_TRANSACTION + 35);
	static final int TRANSACTION_prepareVpn = (android.os.IBinder.FIRST_CALL_TRANSACTION + 36);
	static final int TRANSACTION_setVpnPackageAuthorization = (android.os.IBinder.FIRST_CALL_TRANSACTION + 37);
	static final int TRANSACTION_establishVpn = (android.os.IBinder.FIRST_CALL_TRANSACTION + 38);
	static final int TRANSACTION_getVpnConfig = (android.os.IBinder.FIRST_CALL_TRANSACTION + 39);
	static final int TRANSACTION_startLegacyVpn = (android.os.IBinder.FIRST_CALL_TRANSACTION + 40);
	static final int TRANSACTION_getLegacyVpnInfo = (android.os.IBinder.FIRST_CALL_TRANSACTION + 41);
	static final int TRANSACTION_updateLockdownVpn = (android.os.IBinder.FIRST_CALL_TRANSACTION + 42);
	static final int TRANSACTION_captivePortalCheckCompleted = (android.os.IBinder.FIRST_CALL_TRANSACTION + 43);
	static final int TRANSACTION_supplyMessenger = (android.os.IBinder.FIRST_CALL_TRANSACTION + 44);
	static final int TRANSACTION_findConnectionTypeForIface = (android.os.IBinder.FIRST_CALL_TRANSACTION + 45);
	static final int TRANSACTION_checkMobileProvisioning = (android.os.IBinder.FIRST_CALL_TRANSACTION + 46);
	static final int TRANSACTION_getMobileProvisioningUrl = (android.os.IBinder.FIRST_CALL_TRANSACTION + 47);
	static final int TRANSACTION_getMobileRedirectedProvisioningUrl = (android.os.IBinder.FIRST_CALL_TRANSACTION + 48);
	static final int TRANSACTION_setProvisioningNotificationVisible = (android.os.IBinder.FIRST_CALL_TRANSACTION + 49);
	static final int TRANSACTION_setAirplaneMode = (android.os.IBinder.FIRST_CALL_TRANSACTION + 50);
	static final int TRANSACTION_registerNetworkFactory = (android.os.IBinder.FIRST_CALL_TRANSACTION + 51);
	static final int TRANSACTION_unregisterNetworkFactory = (android.os.IBinder.FIRST_CALL_TRANSACTION + 52);
	static final int TRANSACTION_registerNetworkAgent = (android.os.IBinder.FIRST_CALL_TRANSACTION + 53);
	static final int TRANSACTION_requestNetwork = (android.os.IBinder.FIRST_CALL_TRANSACTION + 54);
	static final int TRANSACTION_pendingRequestForNetwork = (android.os.IBinder.FIRST_CALL_TRANSACTION + 55);
	static final int TRANSACTION_releasePendingNetworkRequest = (android.os.IBinder.FIRST_CALL_TRANSACTION + 56);
	static final int TRANSACTION_listenForNetwork = (android.os.IBinder.FIRST_CALL_TRANSACTION + 57);
	static final int TRANSACTION_pendingListenForNetwork = (android.os.IBinder.FIRST_CALL_TRANSACTION + 58);
	static final int TRANSACTION_releaseNetworkRequest = (android.os.IBinder.FIRST_CALL_TRANSACTION + 59);
	static final int TRANSACTION_getRestoreDefaultNetworkDelay = (android.os.IBinder.FIRST_CALL_TRANSACTION + 60);
	static final int TRANSACTION_addVpnAddress = (android.os.IBinder.FIRST_CALL_TRANSACTION + 61);
	static final int TRANSACTION_removeVpnAddress = (android.os.IBinder.FIRST_CALL_TRANSACTION + 62);
	static final int TRANSACTION_setUnderlyingNetworksForVpn = (android.os.IBinder.FIRST_CALL_TRANSACTION + 63);

	private static final java.lang.String DESCRIPTOR = "android.net.IConnectivityManager";

	@Override
	protected boolean onTransact(int code, Parcel data, Parcel reply, int flags)
			throws RemoteException {
		// TODO Auto-generated method stub

		switch (code)
		{
		case INTERFACE_TRANSACTION:
		
		case TRANSACTION_getActiveNetworkInfo:
		{}
		case TRANSACTION_getActiveNetworkInfoForUid:
		{}
		case TRANSACTION_getNetworkInfo:
		{

			data.enforceInterface(DESCRIPTOR);
			int _arg0;
			_arg0 = data.readInt();
			android.net.NetworkInfo _result = mBinder.getNetworkInfo(_arg0);
			reply.writeNoException();
			if ((_result!=null)) {
				reply.writeInt(1);
				_result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE);
			}
			else {
				reply.writeInt(0);
			}
			return true;

		}
		case TRANSACTION_getNetworkInfoForNetwork:
		{}
		case TRANSACTION_getAllNetworkInfo:
		{}
		case TRANSACTION_getNetworkForType:
		{}
		case TRANSACTION_getAllNetworks:
		{}
		case TRANSACTION_getDefaultNetworkCapabilitiesForUser:
		{}
		case TRANSACTION_getProvisioningOrActiveNetworkInfo:
		{}
		case TRANSACTION_isNetworkSupported:
		{}
		case TRANSACTION_getActiveLinkProperties:
		{}
		case TRANSACTION_getLinkPropertiesForType:
		{}
		case TRANSACTION_getLinkProperties:
		{}
		case TRANSACTION_getNetworkCapabilities:
		{}
		case TRANSACTION_getAllNetworkState:
		{}
		case TRANSACTION_getActiveNetworkQuotaInfo:
		{}
		case TRANSACTION_isActiveNetworkMetered:
		{}
		case TRANSACTION_requestRouteToHostAddress:
		{}
		case TRANSACTION_tether:
		{}
		case TRANSACTION_untether:
		{}
		case TRANSACTION_getLastTetherError:
		{}
		case TRANSACTION_isTetheringSupported:
		{}
		case TRANSACTION_getTetherableIfaces:
		{}
		case TRANSACTION_getTetheredIfaces:
		{}
		case TRANSACTION_getTetheringErroredIfaces:
		{}
		case TRANSACTION_getTetheredDhcpRanges:
		{}
		case TRANSACTION_getTetherableUsbRegexs:
		{}
		case TRANSACTION_getTetherableWifiRegexs:
		{}
		case TRANSACTION_getTetherableBluetoothRegexs:
		{}
		case TRANSACTION_setUsbTethering:
		{}
		case TRANSACTION_reportInetCondition:
		{}
		case TRANSACTION_reportBadNetwork:
		{}
		case TRANSACTION_getGlobalProxy:
		{}
		case TRANSACTION_setGlobalProxy:
		{}
		case TRANSACTION_getDefaultProxy:
		{}
		case TRANSACTION_setDataDependency:
		{}
		case TRANSACTION_prepareVpn:
		{}
		case TRANSACTION_setVpnPackageAuthorization:
		{}
		case TRANSACTION_establishVpn:
		{}
		case TRANSACTION_getVpnConfig:
		{}
		case TRANSACTION_startLegacyVpn:
		{}
		case TRANSACTION_getLegacyVpnInfo:
		{}
		case TRANSACTION_updateLockdownVpn:
		{}
		case TRANSACTION_captivePortalCheckCompleted:
		{}
		case TRANSACTION_supplyMessenger:
		{}
		case TRANSACTION_findConnectionTypeForIface:
		{}
		case TRANSACTION_checkMobileProvisioning:
		{}
		case TRANSACTION_getMobileProvisioningUrl:
		{}
		case TRANSACTION_getMobileRedirectedProvisioningUrl:
		{}
		case TRANSACTION_setProvisioningNotificationVisible:
		{}
		case TRANSACTION_setAirplaneMode:
		{}
		case TRANSACTION_registerNetworkFactory:
		{}
		case TRANSACTION_unregisterNetworkFactory:
		{}
		case TRANSACTION_registerNetworkAgent:
		{}
		case TRANSACTION_requestNetwork:
		{}
		case TRANSACTION_pendingRequestForNetwork:
		{}
		case TRANSACTION_releasePendingNetworkRequest:
		{}
		case TRANSACTION_listenForNetwork:
		{}
		case TRANSACTION_pendingListenForNetwork:
		{}
		case TRANSACTION_releaseNetworkRequest:
		{}
		case TRANSACTION_getRestoreDefaultNetworkDelay:
		{}
		case TRANSACTION_addVpnAddress:
		{}
		case TRANSACTION_removeVpnAddress:
		{}
		case TRANSACTION_setUnderlyingNetworksForVpn:
		{}
		}
		Log.i(TAG, "ConnectivityService trans code"+code);

		return mBinder.transact(code, data, reply, flags);
	}

	public ProxyConnectivityService(IBinder binder) {
		mBinder = binder;
		// mResorter = new SmsReceiverResorter(binder);
	}
}
